package cn.com.idmy.mq;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

@Data
@ConfigurationProperties(prefix = "mq")
public class MqProps {
    /**
     * 命名空间
     */
    private String namespace;
    /**
     * mq服务器地址
     */
    private String serverAddress;
    /**
     * 是否开启生产消息功能，为false spring 将不加载相关配置，不连接mq服务器
     */
    private Boolean enableProducer;
    /**
     * 是否开启消息消费功能，为false spring 将不加载相关配置，不连接mq服务器
     */
    private Boolean enableConsumer;
    /**
     * 默认为 spring.application.name
     */
    private String producerGroup;
    /**
     * 默认为 spring.application.name
     */
    private String consumerGroup;
    private String username;
    private String password;
    /**
     * 默认为 spring.application.name 对应的 MqTopic
     */
    private String topic = "${spring.application.name}";
    private String defaultConsumerInstanceName;
    /**
     * 发送消息超时时间
     */
    private Integer sendMsgTimeout = 3000;
    /**
     * 扩展类型，mq-sdk 一套代码支持多种 MQ 如 kafka
     */
    private String clientType = "ROCKETMQ";
    private Integer topicQueueNumber = 4;
    private Integer maxReconsumeTimes = 3;
}
